/* 
 * File:   MutexScopeLocker.h
 * Author: maximiliano
 *
 * Created on May 22, 2013, 10:00 AM
 */

#ifndef MUTEXSCOPELOCKER_H
#define	MUTEXSCOPELOCKER_H

#include "common_Mutex.h"

namespace TP {
/**
 * 
 * @class MutexScopeLocker
 * Clase que se encarga de Lockear y Desloquear un determinado Mutex
 */
class MutexScopeLocker {
public:
    /**
     * @brief Constructor que lockea el mutex
     * @param pMutex Mutex que va a ser lockeado
     */
    MutexScopeLocker(Mutex& pMutex);
    
    /**
     * @brief Destructor que desloquea el mutex.
     */
    virtual ~MutexScopeLocker();
private:
    Mutex& _mutex;
    
};

}

#endif	/* MUTEXSCOPELOCKER_H */

